package operation;

import book.BookList;

import java.util.Scanner;

public class DelOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("删除图书!");
        System.out.print("请输入你想要删除的图书:");
        Scanner scanner=new Scanner(System.in);
        String name=scanner.nextLine();
        //先确定有无需要删除的书
        int curSize=bookList.getUsedSize();
        if(curSize==0) {
            System.out.println("没有图书可以删除");
            return;
        }
        int i=0;
        for (; i < curSize; i++) {
            if(bookList.getBook(i).getName().equals(name)) {
                for (int j = i; j < curSize-1; j++) {
                    bookList.setBook(j,bookList.getBook(j+1));  //j位置存放j+1位置的数据，就完成了删除
                }
                break;
            }
        }
        if(i==curSize) {
            System.out.println("没有该图书可以删除");
            return;
        }
        bookList.setUsedSize(curSize-1);
        //**因为删除的是对象，所以最后一块位置需要置为空（因为已经不会再使用），不然会造成内存泄漏
        bookList.setBook(curSize-1,null);
        System.out.println("删除成功");
    }
}
